package 中国.珍林.AI.图片.分类;

import com.alibaba.druid.pool.DruidDataSource;
import jakarta.servlet.ServletContextEvent;
import jakarta.servlet.ServletContextListener;
import jakarta.servlet.annotation.WebListener;
import lombok.extern.log4j.Log4j2;
import 中国.易.工具.配置项工具;
import 中国.易.服务器.listener.I支持排序;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Properties;

@Log4j2
@WebListener
public class 数据库初始化 implements ServletContextListener, I支持排序
{
    DruidDataSource dds;

    @Override
    public void contextInitialized(ServletContextEvent sce)
    {
        log.info("开始");
        Properties p = 配置项工具.getProperties("/config.properties");
        {
            dds = new DruidDataSource();
            dds.setMaxActive(50);
            dds.setUrl(p.getProperty("数据库.地址"));
            dds.setUsername(p.getProperty("数据库.用户名"));
            dds.setPassword(p.getProperty("数据库.密码"));

            try
            {
                InitialContext ctx = new InitialContext();
                ctx.bind("数据源", dds);
            }
            catch (NamingException e)
            {
                log.error("初始化 数据库 失败", e);
            }
        }
        log.info("结束");
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce)
    {
        dds.close();
        log.info("连接池已释放");
    }

    @Override
    public int 优先级()
    {
        return 10;
    }
}
